﻿using Basic.FormRemoteModel.Column.Model;

namespace Basic.FormRemoteModel.UserForm.Model
{
    public class UserColumnSet
    {
        /// <summary>
        /// 列名
        /// </summary>
        public string Name { get; set; }
        /// <summary>
        /// 说明
        /// </summary>
        public string Description { get; set; }

        /// <summary>
        /// 控件类型
        /// </summary>
        public ControlType ColType { get; set; }

        /// <summary>
        /// 是否不能为空
        /// </summary>
        public bool IsNotNull { get; set; }

        /// <summary>
        /// 默认值
        /// </summary>
        public string DefaultVal { get; set; }

        /// <summary>
        /// 占用的列数
        /// </summary>
        public int ColSpan { get; set; }

        /// <summary>
        /// 列表列宽
        /// </summary>
        public int? Width { get; set; }

        /// <summary>
        /// 编辑控件
        /// </summary>
        public string EditControl { get; set; }

        /// <summary>
        /// 是否是合并行
        /// </summary>
        public bool? IsMergeRow { get; set; }

        /// <summary>
        /// 只读是是否已Label形式显示
        /// </summary>
        public bool IsLabel { get; set; }

        /// <summary>
        /// 固定类型
        /// </summary>
        public ColumnFiexdType? FiexdType { get; set; }
        /// <summary>
        /// 对齐方式
        /// </summary>
        public ColAlign? Align { get; set; }
        /// <summary>
        /// 控件设置
        /// </summary>
        public Dictionary<string, object> ControlSet { get; set; }
        /// <summary>
        /// 控件验证规则
        /// </summary>
        public ColumnValidateRule[] ValidateRule { get; set; }

        /// <summary>
        /// 功能类型
        /// </summary>
        public DataFuncType FuncType { get; set; }
    }
}
